%%%%###*#*+#*********+++==+***+===-=+###%@@@%%%#%#+**#%%%###%%%%%%%%%
%%%%****+++#*#*****+++=+++*+==========*#%@%%%%%%%%#*#%%%%%%%####%%%%%
#+++*###%%%%***++++***++*+============#*#@@@%%%%@%#####%%%%%%%%%###%%
%#+==#@@@@@#*+*++++===-==-----====+++#%%@@@@@%%%%%#######%#%%%%%%%%#%
####++#%%%%*===---------------==+%%%#**%@@@@%%%%%%%###%###%%%%%%@@@@@
****#%%*+=*---------------====+*%%###*****#%@%%%@%%####%%###%%%%%@@@@
++****+==++============++++**####++####*#*+*%%%%%##**###%%%#%%%%%@@@@
#*#%%*=-=======++++++**++*######++###%##%***%%###**++**##%%%%%%%%@@@@
%%#*##*+===+++++*+**#******#**#%#####%##%###%%%%%%%%#*++++**##%%%@@@@
#+=**+==++++++*#***************#%#%##%%%%%%*%%%%%%%%%%%%#*+===++*%@@@
+++++++++****###**#*********++++*%#**%%%%%%#*%%%%%%%%%%%%%##*+======*
+=++++*****+++*++**********+++**###*######%#+%%%%%%#####%%%%%%#+====+
++******************#####**#****######%#%%%####**#####*#%%%%%%%%#*==+
***##********########%###############*#*#*######%%%%%%%%%%%%%%%%%%#*+
##############%%%%%%%%###%%%%%#%%%%%%###%####################%%%%%%%%
########%%%%%%%%%%%%%%%###%%%%%%%###%%%%%%%%%%%%####################%
####%%%%%%%%%####%%%%%%###%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%########
##%%%%%%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####
%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%%%%%%%%%%%%%%#################
%%%%%%%%%%%%%%%%%%%%%%%######%%%%%%##################################
%%%%%%%%%%%%%%%%#%%%%%%#######################################******#
%%%%%%%%%%%##%###%%%%#############################################**#
@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%